void DilGray (ImSize, InIm, OutIm, StrEl)
int     ImSize;
int     **InIm;
int     **OutIm;
StrTypG *StrEl;
{
   int  r,c,y,x,i,gv,max;

   for (r=0; r<ImSize; r++)
      for (c=0; c<ImSize; c++)  OutIm [r][c] = 0;

   for (r=0; r<ImSize; r++) {
      for (c=0; c<ImSize; c++) {
         max = -32768;
         for (i=1; i<=StrEl[0].r; i++) {
            y = r - StrEl[i].r;
            x = c - StrEl[i].c;
            if  (y>=0 && x>=0 && y<ImSize && x<ImSize) {
               gv = InIm[y][x] + StrEl[i].g;
               if (gv > max)  max = gv;
         }  }
         OutIm [r][c] = max;
}  }  }
